/**
 * 求购报价页
 * myDemandQuoteModify.js
 * -----------------------------------
 * 18/11/15
 */

var
helper = require('../../../utils/helper.js');

Page({

/* ------------------------------
 页面数据
------------------------------ */
data: {
  hidden: 'hidden',
  demand:{},
  show:false,//控制下拉列表的显示隐藏，false隐藏、true显示
  index:0 //选择的下拉列表下标
},
/* ------------------------------
 页面加载
 ------------------------------ */
onLoad: function(options){

  // 更新导航标题
  helper.navTitle('求购报价');

  // 设置scroll-view高度
  // helper.setScrollViewHeight(this);

  // 查询收货地址
  this.queryAddress();


},
/* ------------------------------
 每次页面显示时，刷新数据
------------------------------ */
onShow: function (){

  // 确认是否有来自地址列表页传入的addressId，
  var
      that = this,
      addressId = helper.pageArg('demandModifyAddress');

  if (addressId)
    // 发货地址
    this.bindAddress('', addressId);

},
/* ------------------------------
 查询发货地址
 ------------------------------ */
queryAddress: function() {

  helper.request({ url: 'wx/address/list', success: this.bindAddress });
},
/* ------------------------------
 绑定显示发货地址
 ------------------------------ */
bindAddress: function(ret, addressId) {
  var
      that = this,
      isDefaultAddress = [];

  if(ret) {

    // 绑定地址列表
    that.setData({ allAddress: ret });

    helper.each(ret, function (idx, item) {

      // 默认在地址列表 中查询渲染默认地址
      if(item.isDefault) {

        // 绑定默认地址数据 isDefaultAddress
        isDefaultAddress.push(item);
        that.setData({ address: isDefaultAddress });

        // 录入地址 id
        var
            demand = that.data.demand;

        demand[ 'warehouseAddress' ] = item.addressId;

        console.log(demand);

        // 绑定数据
        that.setData({ demand: demand });

        return;

      }

    });

    // 如果没有默认收货地址，跳转到地址新增页
    if (!isDefaultAddress)
      that.selectAddress();

  } else {

    var allAddress = that.data.allAddress;

    helper.each(allAddress, function (idx, item) {

      // 在地址列表中重新选择新的收货地址 addressId
      if(item.addressId == addressId) {

        // 绑定地址数据
        isDefaultAddress.push(item);
        that.setData({ address: isDefaultAddress });

        // 录入地址 id
        var
            demand = that.data.demand;

        demand[ 'warehouseAddress' ] = item.addressId;

        console.log(demand);

        // 绑定数据
        that.setData({ demand: demand });

        return;

      }

    });

  }
},
/* ------------------------------
 选择发货地址
 ------------------------------ */
selectAddress: function(){

  // 有备选地址时，跳转到地址列表页；没有时，跳转到地址新增页。
  helper.navigateFormat( this.data.address ? 'addressAll' : 'addressModify', { from: 'demandModifyAddress' } );
},
/* ------------------------------
 录入供应数量
 ------------------------------ */
inputQuantity:function(e){
  this.inputProperty(e, 'quantity');
},
/* ------------------------------
 录入供应单价
 ------------------------------ */
inputPrice:function(e){
  this.inputProperty(e, 'price');
},
/* ------------------------------
 录入运费
 ------------------------------ */
inputDeliveryFee:function(e){
  this.inputProperty(e, 'deliveryFee');
},
/* ------------------------------
 录入交货期
 ------------------------------ */
inputDeliveryDays:function(e){
  this.inputProperty(e, 'deliveryDays');
},
/* ------------------------------
 录入联系人姓名
 ------------------------------ */
inputContactName:function(e){
  this.inputProperty(e, 'contactName');
},
/* ------------------------------
 录入联系方式
 ------------------------------ */
inputContactMobile:function(e){
  this.inputProperty(e, 'contactMobile');
},
/* ------------------------------
 录入描述信息
 ------------------------------ */
inputMemo:function(e){
  this.inputProperty(e, 'memo');
},
/* ------------------------------
 录入求购单属性
 ------------------------------ */
inputProperty: function(e, prop, enumName){
  // 更新属性为录入值
  var
      demand = this.data.demand,
      val;

  if (e) {
    val = e.detail.value;
  } else {
    val = 0;
  }

  // 文本框值
  demand[ prop ] = val;

  console.log(demand);

  // 绑定数据
  this.setData({ demand: demand });

},
/* ------------------------------
 发布求购 保存数据
 ------------------------------ */
saveDemand: function(){

  var demand = this.data.demand;

  helper.request({
    url: 'wx/demand/add',
    data: demand,
    success: this.afterSave
  });

},
/* ------------------------------
 发布求购之后，跳转到指定页面
 ------------------------------ */
afterSave: function(ret){

  console.log(ret)
  if(!ret)
      return;
  
  var demandId = ret.demandId;

  // 跳转审核页
  helper.navigateFormat('auditState', { demandId: demandId });
  return;


  // 如果来自"订单确认"页，返回 addressId 至前一页
  // if (this.data.orderConfirm){
  //   helper.pageArg('orderConfirmAddress', addr.addressId);
  //   wx.navigateBack(1);
  //   return;
  // }

  // 默认返回地址列表
  // wx.navigateBack();

}


})
